﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using F1010DB.Common;
using F1010DB.SecurityServices;
using F1010DB.CustomEntity.Account;
using F1010DB.Entity;
namespace HDVN_F1_101
{
    public partial class Form1 : Form
    {
        private SecurityModel model = null;
        private ActiveSecurityCodeServices activite = null;
        public Form1()
        {
            InitializeComponent();
        }

        private void btnCode_Click(object sender, EventArgs e)
        {
            model = new SecurityModel();
            model.maDonVi = txtUnitCode.Text;
            activite = new ActiveSecurityCodeServices(model);

            bool isActive = activite.chekExistUnitAccountAndActive();
            bool isExist = activite.isCheckExistUnit();

            if (!isExist)
            {
                MessageBox.Show("Rất tiếc ! Đơn vị mà bạn chọn không tồn tại !");
                Application.Exit();
                return;
            }

            if (isActive)
            {
                DonViMaster master = activite.getUnitInfo();

                AccountInfo.unitCode = txtUnitCode.Text;
                AccountInfo.email = master.Email;
                AccountInfo.email2 = master.Email2;
                AccountInfo.sodtdd = master.SoDienThoaiDd;

                this.Hide();
                frmLogin f = new frmLogin();
                
                f.Show();
                //this.Close();

            }
            else
            {
                
                DialogResult i = MessageBox.Show("Bạn chưa kích hoạt ứng dụng của bạn, xin vui lòng nhập vào khung bên dưới !", "Not Active",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Information,MessageBoxDefaultButton.Button1,MessageBoxOptions.ServiceNotification);

                if (i == System.Windows.Forms.DialogResult.Yes)
                {
                    txtSecurityCode.Enabled = true;
                    txtUnitCode.Enabled = false;
                    button1.Enabled = true;
                }
                else
                {
                    Application.Exit();
                }
            }
        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            txtSecurityCode.Enabled = false;
            btnCode.Enabled = true;
            button1.Enabled = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SecurityModel model2 = new SecurityModel(txtUnitCode.Text, txtSecurityCode.Text);
            ActiveSecurityCodeServices act = new ActiveSecurityCodeServices(model2);
            int iResult = act.activeSoftware();

            if (iResult == 1)
            {
                frmLogin f = new frmLogin();
           
                f.ShowDialog();
                this.Close();
            }

            if(iResult == 0)
            {
                MessageBox.Show("Đơn vị này không tồn tại đề nghị bạn check lai hoặc liên hệ Bộ Tổng Ủy Viên xem là sổ bộ đơn vị", "Không tồn tại", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                return;
            }

            if (iResult == 10001 || iResult == 10002)
            {
                MessageBox.Show("Bạn chưa nhập mã đơn vị hoặc mã an toàn vui lòng xem lại !");
                return;
            }

            if (iResult == 2)
            {
                MessageBox.Show("Rất tiếc ! Hiện tại mã an toàn của bạn đang bị khóa bạn hãy chờ sau 24 tiếng rồi quay lại !", "Lock", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                return;
            }

            if (iResult == 3)
            {
                MessageBox.Show("Rất tiếc ! Bạn đã nhập sai mã an toàn trên 5 lần và bị khóa xin vui lòng quay lại sau 24 tiếng !", "Lock", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                return;
            }
        }
    }
}
